package com.wms.data.dao.impl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Repository;

import com.wms.data.dao.MenuDao;
import com.wms.data.pojo.Menu;

// ~ File Information
// ====================================================================================================================

@Repository
public class MenuDaoImpl extends AbstractWMSDao<Menu> implements MenuDao {

	// ~ Static Fields
	// ==================================================================================================================

	// ~ Fields
	// ==================================================================================================================

	// ~ Constructors
	// ==================================================================================================================

	// ~ Methods
	// ==================================================================================================================
	
	public List<Menu> getListByLevel(int level) {
		
		String strSql = "SELECT * FROM menu WHERE level = :level ORDER BY sort";
		
		Map<String, Integer> param = new HashMap<String, Integer>();
		param.put("level", level);
		
		return getSimpleJdbcTemplate().query(strSql, generateParameterizedRowMapper(), param);
	}
	
	public List<Menu> getListByPid(String pid) {
		
		String strSql = "SELECT * FROM menu WHERE pid = :pid ORDER BY sort";
		
		Map<String, String> param = new HashMap<String, String>();
		param.put("pid", pid);
		
		return getSimpleJdbcTemplate().query(strSql, generateParameterizedRowMapper(), param);
	}
	
	
	@Override
	protected String getActualTableName() {

		return "menu";
	}

	@Override
	protected String[] getActualTableColumns() {

		return new String[] { 
				"pid", "name", "action", "level", "sort",
				"remarks", "create_date", "create_by", "update_date", "update_by" 
		};
	}
}